<?php namespace system\model;

use hdphp\Model\Model;

class Tag extends Model{

	//数据表
	protected $table = "tag";

	//完整表名
	protected $full = false;

	//自动验证
	protected $validate=[
		//['字段名','验证方法','提示信息',验证条件,验证时间]
        ['tname','required','请输入标签名称',3,3]
	];

	//自动完成
	protected $auto=[
		//['字段名','处理方法','方法类型',验证条件,验证时机]
	];

	//自动过滤
    protected $filter=[
        //[表单字段名,过滤条件,处理时间]
    ];

	//时间操作,需要表中存在created_at,updated_at字段
	protected $timestamps=false;


	//禁止插入的字段
	protected $denyInsertFields = [];

	//禁止更新的字段
	protected $denyUpdateFields = [];

	//前置方法 比如: _before_add 为添加前执行的方法
	protected function _before_add(){}
	protected function _before_delete(){}
	protected function _before_save(&$data){}

	protected function _after_add(){}
	protected function _after_delete(){}
	protected function _after_save(){}
//    获取所有数据

    /**
     * @param row()   每页显示条数
     * @param make()   数据总数
     */
    public function getAll(){
//        分页
        $page=Page::row(6)->make($this->count());
        $data=$this->limit(Page::limit())->get();
        return ['page'=>$page,'data'=>$data];
    }
//    添加
    public function store(){
//        post接收的tname值为空时
        if(empty($_POST['tname'])){
//            提示错误信息返回false
            $this->error='标签不能为空';
            return false;

        }
//        var_dump($_POST['tname']);die;
//        E:\wamp64\www\php\phpmodel\system\model\Tag.php:67:string 'dvdvdvd' (length=7)
//        将接收的字符串转为数组
        $tname=explode("|",$_POST['tname']);
        foreach($tname as $k=>$v){
//            接收的数据tname和数据库tname相同执行删除
            if($this->where('tname',$v)->first()){
//                删除和数据库一样的数据
                $this->where('tname',$v)->delete();
            }
            $this->add(['tname'=>$v]);
        }
        return true;
    }
//    编辑
    public function edit(){
        if(!$this->create()) return false;
//        执行修改
        return $this->save();
    }
}
